package cn.fl.project.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.project.dto.PrjCstProfitAnaDTO;
import cn.fl.project.vo.PrjCstProfitAnaVO;

 /**
 * @Description: 收益分析表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class PrjCstProfitAnaVOTransform {


	/**
	 * DTO 转  VO
	 * @param po PrjCstProfitAnaDTO
	 * @return PrjCstProfitAnaVO
	 */
	public static PrjCstProfitAnaVO toVO(PrjCstProfitAnaDTO dto) {
		PrjCstProfitAnaVO  vo = null;
		if (dto != null) { 
			vo = new PrjCstProfitAnaVO();
			vo.setId(dto.getId());
			vo.setPrjId(dto.getPrjId());//项目ID
			vo.setCstId(dto.getCstId());//客户ID
			vo.setDrftOptLine(dto.getDrftOptLine());//拟运营线路
			vo.setDrftOptDist(dto.getDrftOptDist());//拟运营距离
			vo.setMonRoundTm(dto.getMonRoundTm());//月往返趟数
			vo.setSettCyl(dto.getSettCyl());//结算周期
			vo.setShpmetToDist(dto.getShpmetToDist());//运输货物-去程
			vo.setShpmetCmDist(dto.getShpmetCmDist());//运输货物-回程
			vo.setLoadWegtToDist(dto.getLoadWegtToDist());//载重量（吨）-去程
			vo.setLoadWegtCmDist(dto.getLoadWegtCmDist());//载重量（吨）-回程
			vo.setFrgtLvlToDist(dto.getFrgtLvlToDist());//运费水平（元）-去程
			vo.setFrgtLvlCmDist(dto.getFrgtLvlCmDist());//运费水平（元）-回程
			vo.setDrvrWage(dto.getDrvrWage());//司机工资（元）
			vo.setToll(dto.getToll());//过路过桥费（元）
			vo.setFuelCost(dto.getFuelCost());//FUEL_COST
			vo.setMonPrem(dto.getMonPrem());//月保险费（元）
			vo.setMaintCost(dto.getMaintCost());//维修保养费用（元）
			vo.setOthCost(dto.getOthCost());//OTH_COST
			vo.setMonNetIncm(dto.getMonNetIncm());//月净收入（元）
			vo.setTotalMonIncm(dto.getTotalMonIncm());//月收入合计（元）
			vo.setTotalMonExpdtr(dto.getTotalMonExpdtr());//月支出合计（元）
			vo.setMonRpmtAmt(dto.getMonRpmtAmt());//月均还款金额（元）
			vo.setMonIncmExpdtrRatio(dto.getMonIncmExpdtrRatio());//每月收入支出比例
			vo.setLocalInduAnal(dto.getLocalInduAnal());//当地行业现状分析
			vo.setEquipOptBrifDesc(dto.getEquipOptBrifDesc());//设备运营环境简要描述
			vo.setHgwyLowEfmtDesc(dto.getHgwyLowEfmtDesc());//路政执法情况简述
			vo.setRymtSourGuar(dto.getRymtSourGuar());//还款来源与保障
			vo.setRiskCtlMeas(dto.getRiskCtlMeas());//风险控制措施
			vo.setIsCrimRecd(dto.getIsCrimRecd());//是否有犯罪记录或诉讼案件
			vo.setIsFinaInstAss(dto.getIsFinaInstAss());//是否曾经被金融机构执行资产
			vo.setApyCrdtCd(dto.getApyCrdtCd());//申请企业我司信用记录
			vo.setCorpReprCrdtCd(dto.getCorpReprCrdtCd());//法人代表我司信用记录
			vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
			vo.setApyCrdtCdNm(dto.getApyCrdtCdNm());//法人代表我司信用记录名称
			vo.setIsCrimRecdNm(dto.getIsCrimRecdNm());//是否有犯罪记录或诉讼案件名称
			vo.setIsFinaInstAssNm(dto.getIsFinaInstAssNm());//是否曾经被金融机构执行资产名称
			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			vo.setAnalMonIncm(dto.getAnalMonIncm());//同业人员类比月收入(元)
			vo.setCstRlCd(dto.getCstRlCd());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto PrjCstProfitAnaVO
	 * @return PrjCstProfitAnaDTO
	 */
	public static PrjCstProfitAnaDTO toDTO(PrjCstProfitAnaVO vo) {
		PrjCstProfitAnaDTO dto = null;
		if (vo != null) {
			dto = new PrjCstProfitAnaDTO();
			dto.setId(vo.getId());
			dto.setPrjId(vo.getPrjId());//项目ID
			dto.setCstId(vo.getCstId());//客户ID
			dto.setDrftOptLine(vo.getDrftOptLine());//拟运营线路
			dto.setDrftOptDist(vo.getDrftOptDist());//拟运营距离
			dto.setMonRoundTm(vo.getMonRoundTm());//月往返趟数
			dto.setSettCyl(vo.getSettCyl());//结算周期
			dto.setShpmetToDist(vo.getShpmetToDist());//运输货物-去程
			dto.setShpmetCmDist(vo.getShpmetCmDist());//运输货物-回程
			dto.setLoadWegtToDist(vo.getLoadWegtToDist());//载重量（吨）-去程
			dto.setLoadWegtCmDist(vo.getLoadWegtCmDist());//载重量（吨）-回程
			dto.setFrgtLvlToDist(vo.getFrgtLvlToDist());//运费水平（元）-去程
			dto.setFrgtLvlCmDist(vo.getFrgtLvlCmDist());//运费水平（元）-回程
			dto.setDrvrWage(vo.getDrvrWage());//司机工资（元）
			dto.setToll(vo.getToll());//过路过桥费（元）
			dto.setFuelCost(vo.getFuelCost());//FUEL_COST
			dto.setMonPrem(vo.getMonPrem());//月保险费（元）
			dto.setMaintCost(vo.getMaintCost());//维修保养费用（元）
			dto.setOthCost(vo.getOthCost());//OTH_COST
			dto.setMonNetIncm(vo.getMonNetIncm());//月净收入（元）
			dto.setTotalMonIncm(vo.getTotalMonIncm());//月收入合计（元）
			dto.setTotalMonExpdtr(vo.getTotalMonExpdtr());//月支出合计（元）
			dto.setMonRpmtAmt(vo.getMonRpmtAmt());//月均还款金额（元）
			dto.setMonIncmExpdtrRatio(vo.getMonIncmExpdtrRatio());//每月收入支出比例
			dto.setLocalInduAnal(vo.getLocalInduAnal());//当地行业现状分析
			dto.setEquipOptBrifDesc(vo.getEquipOptBrifDesc());//设备运营环境简要描述
			dto.setHgwyLowEfmtDesc(vo.getHgwyLowEfmtDesc());//路政执法情况简述
			dto.setRymtSourGuar(vo.getRymtSourGuar());//还款来源与保障
			dto.setRiskCtlMeas(vo.getRiskCtlMeas());//风险控制措施
			dto.setIsCrimRecd(vo.getIsCrimRecd());//是否有犯罪记录或诉讼案件
			dto.setIsFinaInstAss(vo.getIsFinaInstAss());//是否曾经被金融机构执行资产
			dto.setApyCrdtCd(vo.getApyCrdtCd());//申请企业我司信用记录
			dto.setCorpReprCrdtCd(vo.getCorpReprCrdtCd());//法人代表我司信用记录
			dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
			dto.setApyCrdtCdNm(vo.getApyCrdtCdNm());//法人代表我司信用记录名称
			dto.setIsCrimRecdNm(vo.getIsCrimRecdNm());//是否有犯罪记录或诉讼案件名称
			dto.setIsFinaInstAssNm(vo.getIsFinaInstAssNm());//是否曾经被金融机构执行资产名称
			dto.setAnalMonIncm(vo.getAnalMonIncm());//同业人员类比月收入(元)
			dto.setCstRlCd(vo.getCstRlCd());
			
			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<PrjCstProfitAnaDTO>
	 * @return List<PrjCstProfitAnaVO>
	 */
	public static List<PrjCstProfitAnaVO> toVOList(List<PrjCstProfitAnaDTO> list) {
		List<PrjCstProfitAnaVO>  voList = new ArrayList<PrjCstProfitAnaVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjCstProfitAnaDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<PrjCstProfitAnaVO>
	 * @return List<PrjCstProfitAnaDTO>
	 */
	public static List<PrjCstProfitAnaDTO> toDTOList(List<PrjCstProfitAnaVO> list) {
		List<PrjCstProfitAnaDTO>  dtoList = new ArrayList<PrjCstProfitAnaDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjCstProfitAnaVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
